package com.funymmz.demo.service;

import com.funymmz.demo.domain.Babyroom;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface BabyroomService {

    /**
     * 找到所有母婴室
     * @return 母婴室列表
     */
    List<Babyroom> findAll();

    /**
     * 分页获取母婴室
     * @param pageable pageable
     * @return 母婴室页
     */
    Page<Babyroom> findAll(Pageable pageable);

    /**
     * 带查询的分页
     * @param babyroomExample babyroomExample
     * @param pageable pageable
     * @return Page<Babyroom>
     */
    Page<Babyroom> findAll(Example<Babyroom> babyroomExample, Pageable pageable);

    /**
     * 插入母婴室信息
     * @param babyroom 母婴室
     * @return babyroom
     */
    Babyroom insert(Babyroom babyroom);

    /**
     * 更新母婴室信息
     * @param babyroom 母婴室
     * @return babyroom
     */
    Babyroom update(Babyroom babyroom);

    /**
     * 删除母婴室
     * @param babyroom 母婴室
     */
    void delete(Babyroom babyroom);

    /**
     * 通过id删除母婴室
     * @param id 母婴室Id号
     */
    void delete(Long id);

    /**
     * 通过id获取母婴室
     * @param id 母婴室Id号
     * @return 母婴室
     */
    Babyroom getById(Long id);

    /**
     * 根据所在商场获取母婴室
     * @param market 商场名称
     * @return 母婴室列表
     */
    List<Babyroom> findByMarket(String market);
}
